github.com/0chain/gosdk@v1.17.11/docs/uml/update file.puml (about)

     1  @startuml
     2  participant "<size:20><&terminal></size> ./zbox update" as cli
     3  collections gosdk
     4  collections blobber
     5  
     6  cli -> gosdk: uploadOrUpdateFile()
     7  
     8  gosdk -> gosdk: check initialized allocation
     9  gosdk -> gosdk: get file info
    10  gosdk -> gosdk: check valid path
    11  gosdk -> gosdk: get full remote path
    12  gosdk -> gosdk: create upload request
    13  
    14  alt need repair
    15  gosdk -> gosdk: create list request
    16  gosdk -> blobber: get file consensus from blobber
    17  end
    18  
    19  gosdk -> gosdk: check fullconsensus of upload request has supported
    20  gosdk -> gosdk: process upload
    21  gosdk -> gosdk: get file info from file path
    22  gosdk -> gosdk: setup upload file
    23  
    24  alt length of thumbnailpath > 0
    25  group for count from 0 to chunksPerShard
    26  gosdk -> gosdk: push thumbnail data
    27  end
    28  gosdk -> gosdk: complete thumbnail push
    29  
    30  group for count from 0 to chunksPerShard
    31  alt is upload canceled
    32  alt not update and not repair
    33  gosdk -> blobber: delete file
    34  end
    35  gosdk --> cli: return
    36  end
    37  gosdk -> gosdk: push data
    38  end
    39  gosdk -> gosdk: complete push
    40  
    41  
    42  group for each bit 1 in the uploadMask
    43  gosdk -> gosdk: create commit request
    44  gosdk -> blobber: add commit request
    45  end
    46  
    47  alt retries < 3 && check threshold consensus is true
    48  group for each successful commit
    49  gosdk -> gosdk: increase consensus
    50  end
    51  gosdk -> gosdk: check threshold consensus
    52  gosdk -> gosdk: increase retries
    53  end
    54  
    55  alt check threshold consensus is true && consensus != 0
    56  gosdk -> blobber: delete file
    57  end
    58  
    59  gosdk --> cli: update completed and return
    60  end
    61  @enduml